{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from datetime import *\n",
    "import matplotlib.pyplot as plt\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 输入target对应的csv文件名\n",
    "filename=input()\n",
    "base_url = r'期末作业题'\n",
    "total_file_name = os.path.join(base_url, filename)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 计算SampleTarget2策略的指标，并返回一个df表格\n",
    "def deal_data3(ft_name, st):\n",
    "    #  读取单个1m主力期货数据\n",
    "    df = pd.read_feather(r'期末作业题/1m' + \"/\" + ft_name + \".ft\")\n",
    "    x_clz_daily_backtest = pd.merge(st, df, how=\"left\")\n",
    "    x_clz_daily_backtest = x_clz_daily_backtest.loc[:, ['trading_day', 'timestamp', ft_name, 'clz']]\n",
    "    x_clz_daily_backtest = x_clz_daily_backtest.rename(columns={ft_name: \"st_x\"})\n",
    "    # 读取每一成交时点的收盘价（成交价）\n",
    "    x_clz_daily_backtest = x_clz_daily_backtest.rename(columns={\"clz\": \"clz_x\"})\n",
    "    x_clz_daily_backtest = x_clz_daily_backtest.set_index('trading_day')\n",
    "    # 把分钟线合成日收盘价\n",
    "    x_clz_daily = df.pivot_table(index='trading_day', values='clz', aggfunc='last')\n",
    "    # 使用x_clz_daily_backtest来存放clz、st_x等数据\n",
    "    x_clz_daily_backtest = pd.merge(x_clz_daily_backtest, x_clz_daily, how=\"left\", left_index=True, right_index=True)\n",
    "    x_clz_daily_backtest = x_clz_daily_backtest.rename(columns={\"clz\": \"clz_last\"})\n",
    "\n",
    "    x_clz_daily_backtest['clz_last_temp'] = x_clz_daily_backtest['clz_last'].shift(1, axis=0)\n",
    "    # 计算上一交易日收盘～当日交易时点的涨跌\n",
    "    x_clz_daily_backtest['lv1'] = x_clz_daily_backtest.apply(lambda x: (x['clz_x'] - x['clz_last_temp']) / x['clz_last_temp'], axis=1)\n",
    "    # 计算当日交易试点～当日收盘的涨跌\n",
    "    x_clz_daily_backtest['lv2'] = x_clz_daily_backtest.apply(lambda x: (x['clz_last'] - x['clz_x']) / x['clz_x'],axis=1)\n",
    "    # 计算每日收盘市值\n",
    "    x_clz_daily_backtest['value_last'] = x_clz_daily_backtest.apply(lambda x: x['st_x'] * (x['lv2'] + 1), axis=1)\n",
    "    x_clz_daily_backtest['value_last_temp'] = x_clz_daily_backtest['value_last'].shift(1, axis=0)\n",
    "    # 计算交易时点实际市值\n",
    "    x_clz_daily_backtest['value_real'] = x_clz_daily_backtest.apply(lambda x: (1 + x['lv1']) * x['value_last_temp'],axis=1)\n",
    "    # 计算损益=上一收盘日到交易时点的损益+今日持仓损益\n",
    "    x_clz_daily_backtest['pnl_x'] = x_clz_daily_backtest.apply(lambda x: x['value_last_temp'] * x['lv1'] + x['st_x'] * x['lv2'], axis=1)\n",
    "    # 计算成交额\n",
    "    x_clz_daily_backtest['trade_value_x'] = x_clz_daily_backtest.apply(lambda x: abs(x['st_x'] - x['value_real']), axis=1)\n",
    "    # 手续费\n",
    "    x_clz_daily_backtest['commit'] = x_clz_daily_backtest.apply(lambda x: x['trade_value_x'] * 0.0003, axis=1)\n",
    "    # 费后净损益\n",
    "    x_clz_daily_backtest['pnl_net_x'] = x_clz_daily_backtest.apply(lambda x: x['pnl_x'] - x['commit'], axis=1)\n",
    "    return x_clz_daily_backtest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "# 计算SampleTarget和SampleTarget1策略的指标，并返回一个df表格\n",
    "def deal_data(ft_name, st):\n",
    "    #  读取单个1m主力期货数据\n",
    "    df = pd.read_feather(r'期末作业题/1m' + \"/\" + ft_name + \".ft\")\n",
    "    #  clz:收盘价\n",
    "    clz = df.loc[:, ['trading_day', 'timestamp', 'clz']]\n",
    "    # 目标市值\n",
    "    st_x = st.loc[:, ['trading_day', 'timestamp', ft_name]]\n",
    "    # 把分钟线合成日收盘价\n",
    "    x_clz_daily = clz.pivot_table(index='trading_day', values='clz', aggfunc='last')\n",
    "    # 使用x_clz_daily_backtest来存放clz、st_x等数据\n",
    "    x_clz_daily_backtest = x_clz_daily\n",
    "    st_x_backtest = st_x.loc[:, ['trading_day', ft_name]]\n",
    "    st_x_backtest = st_x_backtest.set_index('trading_day')\n",
    "    # 读取单一品种x的目标市值\n",
    "    x_clz_daily_backtest['st_x'] = st_x_backtest[ft_name]\n",
    "    x_clz_daily_backtest['diff'] = x_clz_daily_backtest['clz'].diff()\n",
    "    # 使用clz计算单一品种的涨跌\n",
    "    x_clz_daily_backtest['lv2'] = x_clz_daily_backtest.apply(lambda x: 1 + x['diff'] / (x['clz'] - x['diff']),axis=1)  #增长率+1\n",
    "    x_clz_daily_backtest['real_st_x_temp'] = x_clz_daily_backtest['st_x'].shift(1, axis=0)\n",
    "    x_clz_daily_backtest['real_st_x'] = x_clz_daily_backtest.apply(lambda x: x['lv2'] * x['real_st_x_temp'],axis=1)  # 当日的实际市值\n",
    "    x_clz_daily_backtest['pnl_x'] = x_clz_daily_backtest.apply(lambda x: x['real_st_x'] - x['real_st_x_temp'],axis=1)  #损益\n",
    "    x_clz_daily_backtest['trade_value_x'] = x_clz_daily_backtest.apply(lambda x: abs(x['real_st_x'] - x['st_x']),axis=1)  #当日的成交额\n",
    "    x_clz_daily_backtest['commit'] = x_clz_daily_backtest.apply(lambda x: x['trade_value_x'] * 0.0003, axis=1)  #手续费\n",
    "    x_clz_daily_backtest['pnl_net_x'] = x_clz_daily_backtest.apply(lambda x: x['pnl_x'] - x['commit'],axis=1)  #扣除手续费后的损益\n",
    "\n",
    "    return x_clz_daily_backtest\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 1200x800 with 1 Axes>",
      "image/png": "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a9caVqvV+OmnnwzDKL1bavv27Q1JhiQjPDzceOCBByqlW6in31nz5s2NiRMnupUdNGiQy89u4cKFhiSjVatWbs8R5++n6M+je/fuRs+ePc390aNHG5I8DqVw+vLLLw1Jxssvv2wYhmH89NNPhiTj22+/dSk3cuRIo1WrVub+hx9+aPj5+RmLFy92KffGG28Ykow///zTPCbJ8PPzMzZs2FBsPQpzvg7fe++9MpV3qkj374yMDKNZs2bmEALnz71ol9YuXboY7dq1c3lfyM7ONpo1a2ZIMubMmVPuexqGYfz3v/81oqKijCNHjhiGYVRK9+/Dhw8b/v7+xv/+9z/zWL9+/YyLLrrI3N+yZYvb+6Rh5L2fhYeHm8+5L774wpBkvPjii2YZu91uDBkyxO13VJbu30OHDjW6dOliZGVlmcccDofRr18/o23btuaxqVOnGgEBAS7dl7Ozs4169eoZ11xzjXns2muvNeLj41265RuGYYwfP96Iiooyv4+SXk9ZWVlur/ddu3YZQUFBLq+x6dOnG5KMr776yjyWmZlpdOjQwZBkLFy40Px+2rZtawwfPtxwOBxm2YyMDKNly5bGOeecU+zPx2nQoEFlei6X9T20OJ07dzaGDBnidnzDhg2GJOONN94wj5XneW0YhnHDDTeY76t+fn7GmDFj3LqjOxwOo0+fPsbll19uGEbez110/waqBS3VgI8755xztHTpUl144YVau3atnn32WQ0fPlxNmjRx6SLoNGzYMLVu3drcP/300xUZGekyK3ThFiabzaZjx46pTZs2qlevnlavXu12z+uvv77YiZsmTZrksu+cOO2HH35wOf7zzz8rLi5OcXFx6tKliz788ENdffXVeu6551zKFa6b85P9fv36yTCMUlsZPLHb7fr55581evRotWrVyjweHx+vK664Qn/88YdSUlJKvMfMmTNlGEaJrYmVITMz02x5LSo4ONjsAu/8NygoyGO5wmUk6ZZbbtGIESN07rnnlqke7733nubNm6fXXntNHTt2VGZmpks3am+aOHFisd2bb7zxRpf9AQMGuDzvna33ERERxd7fec75nBgyZIhiY2M1e/Zss8yJEyc0f/58lxbozz//XB07dlSHDh109OhR82vIkCGS8rqlFjZo0CB16tSp1O9XyhvuYBiGx27yle3pp5+WzWbTfffdV2K5m266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nVxo79692r59u8efu3M25RMnTri08kdHR7us3fvLL7+oadOmZotcWe954MABORwO3XLLLbrlllvcyrZs2VK33npruWcEnzVrlgICAvThhx+6ffDyxx9/6OWXX9bevXvVrFkztWzZUn369NHs2bM1efJkffnllxo9erRLd+DmzZtr4cKFysjIcGmt3r59e7nqJcn8mQQEBJRpzexx48bp0Ucf1RdffKGGDRsqJSXFnEBNynuvi4iIkN1uP6U1uOfMmaOzzz5b77zzjsvxkydPKjY21txv3ry5Nm7cKMMwXJ7zRX8WzuFIkZGRVb42eFnfQ0u6fuHChUpJSXGZrMw5oaXz+oq8VopydiV3vrfu3btXJ06c8Nhr6qmnntJTTz2lv//+u9TvAUDFMKYa8HELFy70OJbMOWbZU7fm0litVrd7vvLKKxUaN+tc2qrwfSRpxIgRpV57zz336NixY/rf//5n1ktybVU3DEMvvfSS27VhYWGSVOoHAVarVeeee66+/vprly7phw8f1scff6z+/fu7zfRaVHmW1CqrjIwMbd68WUePHjWPDRkyRDExMXr99dddyr7++usKDQ3VqFGjzGNjxozRypUrXYL1li1b9Ouvv2rs2LHmsblz57p9ObuzfvDBB5oxY4ZZtmjXUCmvm+OCBQs8zjReGVq3bq1ly5a5dNn87rvvPC5dc6r69eunYcOG6b333nNZgsjp/vvv19atW3X33Xe7tOD5+flpzJgx+vbbb/Xhhx8qNzfXbUbvyy67TAcOHDCfy4VlZmYqPT29wvUuz5Ja5bF582bt3bvX3H/iiSfcniuPP/64JOnuu+/W3LlzzdedJ7Nnz9bKlSt12223mS10Zb3naaed5vG52rlzZzVr1kxz5841uz2Xx6xZszRgwACNGzdOY8aMcfm66667JEmffPKJWX7cuHFatmyZ3n33XR09etTt9zx8+HDZbDaX37PD4XB7HyyLBg0aaPDgwXrzzTc9fjialJTkst+xY0d16dJFs2fP1uzZsxUfH+/y4ZDVatWll16qL774wuNwj6L3K46n/x8+//xztxbc4cOH68CBAy5ze2RlZbm9Bnr27KnWrVvr+eef97jUWlnqVdYltcrzHnr06FFt3rzZZcWLMWPGyG63u3Sfz87O1nvvvaczzjjD/AC2PK8VT++rNptNH3zwgUJCQsxeMbfccovbPd98801JefMqzJ07t0YOGwF8BS3VgI+7+eablZGRoYsvvlgdOnRQTk6OlixZotmzZ6tFixYe19Atzfnnn68PP/xQUVFR6tSpk5YuXapffvnFZbxcWe3atUsXXnihzjvvPC1dulQfffSRrrjiCpeuscUZMWKETjvtNL3wwguaNGmSOnTooNatW2vKlCk6cOCAIiMj9cUXX7iNrZby/lCT8v4QGT58uKxWq0urTWFPPPGE5s+fr/79++umm26Sv7+/3nzzTWVnZ5dpKZSpU6fq/fff165du0ptgf/999/1+++/S8r7YzE9PV1PPPGEpLwWT+cfwStWrNDZZ5+thx9+2FxTOyQkRI8//rgmTZqksWPHavjw4Vq8eLE++ugjPfnkky5dX2+66Sb973//06hRozRlyhQFBATohRdeUMOGDXXnnXea5UaPHu1WR2fL9IgRI1xanrp06aKhQ4eqW7duio6O1rZt2/TOO+/IZrPp6aefdrnHVVddVeafSUmuu+46zZkzR+edd54uu+wy7dixQx999JHLZHuV6YMPPtDQoUN10UUX6YorrtCAAQOUnZ2tL7/8UosWLdK4cePMsFXYuHHj9Morr+jhhx9Wly5d3Jb3+fe//63PPvtMN954oxYuXKizzjpLdrtdmzdv1meffaaffvqpwh9MzJ07V1dffbXee++9Uicr27Nnj7m8nPMDF+fzr3nz5vr3v/9tlu3YsaMGDRpkridcuMXZydnS1rt3b5fn0u+//67HHntM5557rurXr69ly5bpvffe03nnnadbb73VLFfWe8bGxnp8rjpbpouee+SRR/Too49q4cKFLuuZF7Z8+XJt375dkydP9ni+SZMm6tGjh2bNmmUuA3XZZZdpypQpmjJlimJiYtxaVkePHq0+ffrozjvv1Pbt29WhQwd98803On78uCTPPWheeOEFtzHYfn5+uu+++/Tqq6+qf//+6tKli66//nq1atVKhw8f1tKlS7V//363taHHjRunhx56yFw7uWj34qeffloLFy7UGWecoeuvv16dOnXS8ePHtXr1av3yyy9mPUty/vnn67HHHtPVV1+tfv36ad26dZo1a5Zbq+wNN9yg//73v7r88st16623Kj4+XrNmzTIn9XL+LPz8/PT2229rxIgR6ty5s66++mo1adJEBw4c0MKFCxUZGemyvJknEyZM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1K9fP+3fv7/Ya6ZNm6aoqCjzKyEhoaLVBAAAAACgylQ4VE+aNEnr16/Xp59+WmK5vn37asKECerWrZsGDRqkL7/8UnFxcXrzzTeLvWbq1KlKTk42v/bt21fRavqs3bt3y2KxaM2aNd6uCgAAAADUWRUK1ZMnT9Z3332nhQsXqmnTpuW6NiAgQN27d9f27duLLRMUFKTIyEiXL3ifxWLRV1995e1qAAAAAECNUa5QbRiGJk+erLlz5+rXX39Vy5Yty/2Adrtd69atU3x8fLmvBQAAAACgJilXqJ40aZI++ugjffzxx4qIiFBiYqISExOVmZlplpkwYYKmTp1q7j/22GP6+eeftXPnTq1evVpXXnml9uzZo+uuu67yvotCDMNQRk6uV74MwyhzPQcPHqzJkydr8uTJioqKUmxsrB588EHzHi1atNBTTz2la665RhEREWrWrJneeuutCv1MFi1aJIvFogULFqhXr14KDQ1Vv379XJY5k6Svv/5aPXr0UHBwsFq1aqVHH31Uubm5Zn0k6eKLL5bFYjH3AQAAAKAuK9eSWq+//rqkvEBY2HvvvaerrrpKkrR3716XJZVOnDih66+/XomJiYqOjlbPnj21ZMkSderU6dRqXoxMm12dHvqpSu5dmo2PDVdoYNl/pO+//76uvfZarVixQqtWrdJ//vMfNWvWTNdff70kafr06Xr88cd13333ac6cOfq///s/DRo0SO3bt69Q/e6//35Nnz5dcXFxuvHGG3XNNdfozz//lCQtXrxYEyZM0Msvv6wBAwZox44d+s9//iNJevjhh7Vy5Uo1aNBA7733ns477zxZrdYK1QEAAAAAfEm5QnVZWmIXLVrksj9jxgzNmDGjXJWqKxISEjRjxgxZLBa1b99e69at04wZM8xQPXLkSN10002SpHvuuUczZszQwoULKxyqn3zySQ0aNEiSdO+992rUqFHKyspScHCwHn30Ud17772aOHGiJKlVq1Z6/PHHdffdd+vhhx9WXFycJKlevXpVvuY4AAAAANQW5QrVtUFIgFUbHxvutccujzPPPFMWi8Xc79u3r6ZPny673S5JOv30081zFotFjRo10pEjRypcv8L3c45pP3LkiJo1a6a1a9fqzz//1JNPPmmWsdvtysrKUkZGhkJDQyv8uAAAAADgq3wuVFsslnJ1wa7JAgICXPYtFosc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W2YkxQcTOiItpwi+LlaPfH1D6+3tgN6VsmyrBpuLhrbFvP5eYjby1ZM6Ydmfl7WeKymrEG/9VbFvhL+LTnXq7mkPXxdLRCflaOwb89Vx9G/riGM3lRndTWRSrBjbQRzeam4iw+HXBkGAMng4+OoAzPj5DNq5WqG3twPszE0wzM+Z86jpsaK6tB+HfxMREZEhMKimOlGdU+3hoDlvenrvR09Q1pDMTSpeUHRztxUDagB4qrs79l1JRFj0Q3GbsZEE7vbmuP0wFyYyKcZ0csMTndwwzM9Zp+sbSSX4ZU4v9F4VonV/eUDtbm+GX+b00nixoZqIycFSjj21nD9P1FzZqYygYaIyIiIiMgQG1VQnbjaNKxmZvlmZVvyTUH0YB5QB7//NUQ7pzswvxl+R9zApsBWsTY2hUAh6e2B3tTEVl08DgCsrg/GvH0/jYnyGWOajCZ2a5c+fSN9Up6UYcZQGERERGQCDaqoTDwcLfDc9EIKgPlexuVDtmVbNfl6ZjZkxZvWtyBSu7x6wLfN6YcOJWCwc4gNLuQx/L+gLQRCwPjQGqTlF6OfjqNfrETVXtipLAxrVYVk+IiIiotpiUE11FuzvWnOhJsrarOKfhH2lnur65OFggffG+attk0gkWDDYp4FqRNQ0qb4cY081ERERGQKDaiIVcpkRtr8QBIVCUOu1JqKmSXUaB7N/ExERkSEwqCaqpIenfUNXgYj0xM6cQTUREREZFherJSKiZqulnZn4PYd/ExERkSGwp5qIiJqtlrZmWD2pE8xMjLikFhERERkEg2oiImrWnunZuqGrQERERM0Yh38TERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6YhBNREREREREZGOGFQTERERERER6UjW0BWoDUEQAABZWVkNXBMiIiIiIiJ6HJTHn+XxaFWaRFCdnZ0NAHB3d2/gmhAREREREdHjJDs7GzY2NlXulwg1hd2NgEKhwIMHD2BlZQWJRNLQ1aFHkJWVBXd3d8THx8Pa2rqhq0NNGNsS6QvbEukL2xLpC9sS6Qvb0qMRBAHZ2dlo0aIFpNKqZ043iZ5qqVSKVq1aNXQ1SI+sra35D5v0gm2J9IVtifSFbYn0hW2J9IVtSXfV9VCXY6IyIiIiIiIiIh0xqCYiIiIiIiLSEYNqqldyuRwrVqyAXC5v6KpQE8e2RPrCtkT6wrZE+sK2RPrCtlQ/mkSiMiIiIiIiIqLGiD3VRERERERERDpiUE1ERERERESkIwbVRERERERERDpiUE1ERERERESkIwbVVCerVq1Cjx49YGVlBWdnZ0yYMAE3btxQK1NQUIAFCxbAwcEBlpaWePLJJ5GUlKRWZtGiRQgMDIRcLkfXrl01rhMaGorx48fDzc0NFhYW6Nq1KzZv3mzIW6N6Vl9tSdWtW7dgZWUFW1tbPd8NNaT6bEuCIGDNmjXw9fWFXC5Hy5Yt8dFHHxnq1qie1WdbOnDgAHr37g0rKys4OTnhySefRGxsrIHujBqCPtrTxYsXMXXqVLi7u8PMzAx+fn5Yu3atxrVCQ0MREBAAuVwOHx8fbNy40dC3R/WovtrSn3/+ieHDh8PJyQnW1tYICgrCgQMH6uUemzoG1VQnYWFhWLBgAU6dOoWDBw+iuLgYI0aMQG5urljm1Vdfxa5du7B9+3aEhYXhwYMHmDRpksa55syZgylTpmi9zsmTJ9G5c2f88ccfuHTpEmbPno0ZM2Zg9+7dBrs3ql/11ZbKFRcXY+rUqejfv7/e74UaVn22pVdeeQU//vgj1qxZg+vXr+Off/5Bz549DXJfVP/qqy3duXMH48ePx5AhQ3DhwgUcOHAAKSkpWs9DTZc+2lNERAScnZ3x66+/4urVq/j3v/+N5cuX4+uvvxbL3LlzB6NHj8bgwYNx4cIFLF68GHPnzmUw1IzUV1s6evQohg8fjr179yIiIgKDBw/G2LFjcf78+Xq93yZJIHoEycnJAgAhLCxMEARByMjIEIyNjYXt27eLZaKiogQAQnh4uMbxK1asELp06VKra40aNUqYPXu2XupNjY+h29LSpUuFZ599VtiwYYNgY2Oj7+pTI2KotnTt2jVBJpMJ169fN1jdqXExVFvavn27IJPJhNLSUnHbP//8I0gkEqGoqEj/N0KNwqO2p3IvvfSSMHjwYPHz0qVLBX9/f7UyU6ZMEYKDg/V8B9RYGKotadOhQwdh5cqV+ql4M8aeanokmZmZAAB7e3sAyrdgxcXFGDZsmFimffv2aN26NcLDwx/5WuXXoebHkG3p8OHD2L59O9atW6e/ClOjZai2tGvXLnh7e2P37t3w8vKCp6cn5s6di7S0NP3eADUahmpLgYGBkEql2LBhA0pLS5GZmYlNmzZh2LBhMDY21u9NUKOhr/ZU+XkoPDxc7RwAEBwc/MjPXdR4GaotVaZQKJCdnc3n71pgUE06UygUWLx4Mfr27YuOHTsCABITE2FiYqIxZ9XFxQWJiYk6X2vbtm04e/YsZs+e/ShVpkbKkG0pNTUVs2bNwsaNG2Ftba3PalMjZMi2dPv2bdy9exfbt2/HL7/8go0bNyIiIgKTJ0/W5y1QI2HItuTl5YX//e9/eOuttyCXy2Fra4t79+5h27Zt+rwFakT01Z5OnjyJ33//HfPnzxe3JSYmwsXFReMcWVlZyM/P1++NUIMzZFuqbM2aNcjJycHTTz+tt/o3V7KGrgA1XQsWLMCVK1dw/Phxg17nyJEjmD17Nn744Qf4+/sb9FrUMAzZlubNm4dp06ZhwIABej83NT6GbEsKhQKFhYX45Zdf4OvrCwD46aefEBgYiBs3bqBdu3Z6vyY1HEO2pcTERMybNw8zZ87E1KlTkZ2djXfffReTJ0/GwYMHIZFI9H5Nalj6aE9XrlzB+PHjsWLFCowYMUKPtaOmpL7a0pYtW7By5Ur8/fffcHZ21vlajwv2VJNOFi5ciN27d+PIkSNo1aqVuN3V1RVFRUXIyMhQK5+UlARXV9c6XycsLAxjx47FF198gRkzZjxqtakRMnRbOnz4MNasWQOZTAaZTIbnnnsOmZmZkMlk+Pnnn/V1G9QIGLotubm5QSaTiQE1APj5+QEA4uLiHq3y1KgYui2tW7cONjY2+PTTT9GtWzcMGDAAv/76K0JCQnD69Gl93QY1EvpoT9euXcPQoUMxf/58vP3222r7XF1dNTLQJyUlwdraGmZmZvq9GWpQhm5L5X777TfMnTsX27Zt05haQNoxqKY6EQQBCxcuxF9//YXDhw/Dy8tLbX9gYCCMjY0REhIibrtx4wbi4uIQFBRUp2uFhoZi9OjR+OSTT6odmkJNU321pfDwcFy4cEH8ev/992FlZYULFy5g4sSJersfajj11Zb69u2LkpISxMTEiNuio6MBAB4eHo94F9QY1FdbysvLg1Sq/ghmZGQEQDkigpoHfbWnq1evYvDgwZg5c6bWJfyCgoLUzgEABw8erPNzFzVe9dWWAGDr1q2YPXs2tm7ditGjRxvmhpqjhsySRk3Piy++KNjY2AihoaFCQkKC+JWXlyeWeeGFF4TWrVsLhw8fFs6dOycEBQUJQUFBaue5efOmcP78eeH5558XfH19hfPnzwvnz58XCgsLBUEQhMOHDwvm5ubC8uXL1a6Tmppar/dLhlNfbakyZv9ufuqrLZWWlgoBAQHCgAEDhMjISOHcuXNCr169hOHDh9fr/ZLh1FdbCgkJESQSibBy5UohOjpaiIiIEIKDgwUPDw+1a1HTpo/2dPnyZcHJyUl49tln1c6RnJwslrl9+7Zgbm4uvPHGG0JUVJSwbt06wcjISNi/f3+93i8ZTn21pc2bNwsymUxYt26dWpmMjIx6vd+miEE11QkArV8bNmwQy+Tn5wsvvfSSYGdnJ5ibmwsTJ04UEhIS1M4zcOBAree5c+eOIAiCMHPmTK37Bw4cWH83SwZVX22pMgbVzU99tqX79+8LkyZNEiwtLQUXFxdh1qxZfNnXjNRnW9q6davQrVs3wcLCQnBychLGjRsnREVF1dOdUn3QR3tasWKF1nN4eHioXevIkSNC165dBRMTE8Hb21vtGtT01Vdbqupv18yZM+vvZpsoiSAIgm593ERERERERESPN86pJiIiIiIiItIRg2oiIiIiIiIiHTGoJiIiIiIiItIRg2oiIiIiIiIiHTGoJiIiIiIiItIRg2oiIiIiIiIiHTGoJiIiIiIiItIRg2oiIiIiIiIiHTGoJiIiaqI8PT3x5ZdfGuz87733Hrp27Wqw8xMRETUHDKqJiIgMZNCgQVi8eHFDV4OIiIgMiEE1ERFRAxEEASUlJQ1dDSIiInoEDKqJiIgMYNasWQgLC8PatWshkUggkUiwceNGSCQS7Nu3D4GBgZDL5Th+/DhiYmIwfvx4uLi4wNLSEj169MChQ4fUzpecnIyxY8fCzMwMXl5e2Lx5s8Y1MzIyMHfuXDg5OcHa2hpDhgzBxYsXa13n1atXw8XFBVZWVnjuuedQUFCgtv/s2bMYPnw4HB0dYWNjg4EDByIyMlLcP2fOHIwZM0btmOLiYjg7O+Onn36qdT2IiIiaEgbVREREBrB27VoEBQVh3rx5SEhIQEJCAtzd3QEAy5Ytw+rVqxEVFYXOnTsjJycHo0aNQkhICM6fP4+RI0di7NixiIuLE883a9YsxMfH48iRI9ixYwfWr1+P5ORktWs+9dRTSE5Oxr59+xAREYGAgAAMHToUaWlpNdZ327ZteO+99/Dxxx/j3LlzcHNzw/r169XKZGdnY+bMmTh+/DhOnTqFtm3bYtSoUcjOzgYAzJ07F/v370dCQoJ4zO7du5GXl4cpU6bo/LMkIiJqzCSCIAgNXQkiIqLmaNCgQejatauYTCw0NBSDBw/Gzp07MX78+GqP7dixI1544QUsXLgQ0dHRaNeuHc6cOYMePXoAAK5fvw4/Pz988cUXWLx4MY4fP47Ro0cjOTkZcrlcPI+Pjw+WLl2K+fPnV3u9Pn36oFu3bli3bp24rXfv3igoKMCFCxe0HqNQKGBra4stW7aIPdT+/v6YOXMmli5dCgAYN24cHBwcsGHDhmqvT0RE1FSxp5qIiKiede/eXe1zTk4OXn/9dfj5+cHW1haWlpaIiooSe6qjoqIgk8kQGBgoHtO+fXvY2tqKny9evIicnBw4ODjA0tJS/Lpz5w5iYmJqrFNUVBR69eqlti0oKEjtc1JSEubNm4e2bdvCxsYG1tbWyMnJUetRnzt3rhhAJyUlYd++fZgzZ07tfjBERERNkKyhK0BERPS4sbCwUPv8+uuv4+DBg1izZg18fHxgZmaGyZMno6ioqNbnzMnJgZubG0JDQzX2qQbfj2LmzJlITU3F2rVr4eHhAblcjqCgILV6zpgxA8uWLUN4eDhOnjwJLy8v9O/fXy/XJyIiaowYVBMRERmIiYkJSktLayx34sQJzJo1CxMnTgSgDJBjY2PF/e3bt0dJSQkiIiLE4d83btxARkaGWCYgIACJiYmQyWTw9PSsc139/Pxw+vRpzJgxQ9x26tQpjXquX78eo0aNAgDEx8cjJSVFrYyDgwMmTJiADRs2IDw8HLNnz65zXYiIiJoSBtVEREQG4unpidOnTyM2NhaWlpZQKBRay7Vt2xZ//vknxo4dC4lEgnfeeUetbLt27TBy5Eg8//zz+OabbyCTybB48WKYmZmJZYYNG4agoCBMmDABn376KXx9ffHgwQPs2bMHEydO1BhyXtkrr7yCWbNmoXv37ujbty82b96Mq1evwtvbW62emzZtQvfu3ZGVlYU33nhDrQ7l5s6dizFjxqC0tBQzZ86s64+NiIioSeGcaiIiIgN5/fXXYWRkhA4dOsDJyUlt7rGqzz//HHZ2dujTpw/Gjh2L4OBgBAQEqJXZsGEDWrRogYEDB2LSpEmYP38+nJ2dxf0SiQR79+7FgAEDMHv2bPj6+uKZZ57B3bt34eLiUmNdp0yZgnfeeQdLly5FYGAg7t69ixdffFGtzE8//YT09HQEBARg+vTpWLRokVodyg0bNgxubm4IDg5GixYtavOjIiIiarKY/ZuIiIj0KicnBy1btsSGDRswadKkhq4OERGRQXH4NxEREemFQqFASkoKPvvsM9ja2mLcuHENXSUiIiKD4/BvIiKix4C/v7/aUluqX5s3b9bLNeLi4uDi4oItW7bg559/hkzGd/dERNT8cfg3ERHRY+Du3bsoLi7Wus/FxQVWVlb1XCMiIqLmgUE1ERERERERkY44/JuIiIiIiIhIRwyqiYiIiIiIiHTEoJqIiIiIiIhIRwyqiYiIiIiIiHTEoJqIiIiIiIhIRwyqiYiIiIiIiHTEoJqIiIiIiIhIR/8PGdsZ+PN45TwAAAAASUVORK5CYII=\n"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "st = pd.read_csv(total_file_name) # 读取策略csv文件\n",
    "total_st_x = pd.DataFrame() # 存放全品种目标市值AvgLeverage\n",
    "total_trade_value_x = pd.DataFrame() #存放全品种成交额TurnOver\n",
    "total_pnl_net_x = pd.DataFrame() # 存放全品种费后净损益pnl_net\n",
    "if filename[-5] == \"2\":\n",
    "    for ft_name in st.columns.values[2:]:\n",
    "        x_data = deal_data3(ft_name, st)\n",
    "        total_st_x[ft_name] = x_data['st_x']\n",
    "        total_trade_value_x[ft_name] = x_data['trade_value_x']\n",
    "        total_pnl_net_x[ft_name] = x_data['pnl_net_x']\n",
    "    factor = 1.0\n",
    "elif filename[-5] == \"1\":\n",
    "    for ft_name in st.columns.values[2:]:\n",
    "        x_data = deal_data(ft_name, st)\n",
    "        total_st_x[ft_name] = x_data['st_x']\n",
    "        total_trade_value_x[ft_name] = x_data['trade_value_x']\n",
    "        total_pnl_net_x[ft_name] = x_data['pnl_net_x']\n",
    "    factor = 1000000.0\n",
    "else:\n",
    "    for ft_name in st.columns.values[2:]:\n",
    "        x_data = deal_data(ft_name, st)\n",
    "        total_st_x[ft_name] = x_data['st_x']\n",
    "        total_trade_value_x[ft_name] = x_data['trade_value_x']\n",
    "        total_pnl_net_x[ft_name] = x_data['pnl_net_x']\n",
    "    factor = 1.0\n",
    "\n",
    "total_st_x['sum'] = total_st_x.sum(axis=1) # 全品种目标市值合计数\n",
    "total_trade_value_x['sum'] = total_trade_value_x.sum(axis=1) # 全品种成交额合计数\n",
    "total_pnl_net_x['sum'] = total_pnl_net_x.sum(axis=1) # 全品种费后净损益合计数\n",
    "cum_sum = total_pnl_net_x.cumsum(axis=0, )['sum']\n",
    "total_pnl_net_x['cum_sum'] = cum_sum # 累计收益\n",
    "\n",
    "# 累计收益率\n",
    "total_pnl_net_x['earning_rate'] = total_pnl_net_x.apply(lambda x: x['cum_sum'] / factor, axis=1)\n",
    "# 夏普比率\n",
    "earning_rate_mean = total_pnl_net_x['sum'].mean()\n",
    "fangcha_earning_rate = total_pnl_net_x['sum'].std()\n",
    "sharp_ratio = (earning_rate_mean) / fangcha_earning_rate * 15.8\n",
    "# 平均换手率\n",
    "turn_over = total_trade_value_x['sum'].mean() / factor\n",
    "# 平均资金占用率\n",
    "avg_leverage = total_st_x['sum'].mean() / factor\n",
    "# 绘制图表\n",
    "total_pnl_net_x['date'] = total_pnl_net_x.index.values\n",
    "total_pnl_net_x = total_pnl_net_x.dropna(thresh=5)\n",
    "x = total_pnl_net_x['date'].apply(lambda x: datetime.strptime(str(x), '%Y%m%d'))\n",
    "y = total_pnl_net_x['earning_rate']\n",
    "plt.figure(figsize=(12, 8))\n",
    "plt.plot(x, y, label='pnl_net')\n",
    "plt.xlabel(\"trade_day\")\n",
    "plt.title(\n",
    "    \"SharpRatio : {:.4f}, TurnOver : {:.4f}, AvgLeverage : {:.4f}\".format(sharp_ratio, turn_over, avg_leverage))\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}